package timing.ukulele.flow.persistent;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import timing.ukulele.flow.dictionary.FlowStatusEnum;
import timing.ukulele.persistent.model.BaseIdWorkerModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(description = "流程")
@TableName("c_flow")
public class Flow extends BaseIdWorkerModel {

    @TableField("name")
    @ApiModelProperty(value = "名称")
    private String name;

    @TableField("flow_key")
    @ApiModelProperty(value = "流程key")
    private String flowKey;

    @TableField("system_id")
    @ApiModelProperty(value = "业务系统id")
    private Long systemId;

    @TableField("status")
    @ApiModelProperty(value = "状态：0-未发布 1-已发布 2-有新版本")
    private FlowStatusEnum status;

    @TableField("active")
    @ApiModelProperty(value = "是否停用：0-已停用 1-未停用")
    private Integer active;

    @TableField("version")
    @ApiModelProperty(value = "版本号")
    private Integer version;

    @TableField(exist = false)
    @ApiModelProperty(value = "业务系统名称")
    private String systemName;

    @TableField("process_key")
    @ApiModelProperty(value = "画的流程图的Key")
    private String processKey;

    @TableField(exist = false)
    @ApiModelProperty(value = "业务系统配的申请表单模板的url")
    private String formUrl;

    @TableField(exist = false)
    @ApiModelProperty(value = "业务系统配的审批表单模板的url")
    private String appplyUrl;

    @TableField(exist = false)
    @ApiModelProperty(value = "流程图配的添加表单模板的url")
    private String flowUrl;
}
